home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / comm / wxtermsr.zip / WXTMDIAL.INC < prev    next >
Text File  |  1988-02-12  |  4KB  |  141 lines

  1. {$U-,C-,R-,K-}
  2. CONST
  3.      MASTER_FILE_NAME = 'WXTERM.MST';
  4. TYPE
  5.     MasterRec        = RECORD
  6.                        mdbits      : 7..8;
  7.                        mparity     : parity_set;
  8.                        mstop_bits  : 1..2;
  9.                        mcom_port   : com1..com2;
  10.                        mspeed      : INTEGER;
  11.                        mjropt      : BOOLEAN;
  12.                        END;
  13. VAR
  14.    msrecord              : MasterRec;
  15.    msfile                : FILE OF MasterRec;
  16.  
  17. PROCEDURE setup;
  18. {initialize most stuff - you may want to replace this routine completely}
  19.  
  20. BEGIN
  21.   WITH msrecord DO
  22.   BEGIN
  23.      Assign(msfile,MASTER_FILE_NAME);
  24.      IF exists(MASTER_FILE_NAME) THEN
  25.      BEGIN
  26.         RESET(msfile);
  27.         READ(msfile, msrecord)
  28.      END
  29.      ELSE
  30.      BEGIN
  31.         REWRITE(msfile);
  32.         mdbits      := 7;
  33.         mparity     := EVEN;
  34.         mstop_bits  := 1;
  35.         mcom_port   := com1;
  36.         mspeed      := DEFAULT_BAUD;
  37.         mjropt      := FALSE;
  38.         WRITE(msfile, msrecord);
  39.         Flush(msfile);
  40.      END;
  41.      dbits        := mdbits;
  42.      parity       := mparity;
  43.      stop_bits    := mstop_bits;
  44.      speed        := mspeed;
  45.      Cport        := mcom_port;
  46.      pcjrmode     := mjropt;
  47.      CLOSE(msfile);
  48.   END;
  49. END;
  50.  
  51.  
  52. PROCEDURE GetParms;
  53. VAR
  54.    p : STRING[4];
  55.    yy: STRING[2];
  56.    cp: STRING[5];
  57. BEGIN
  58.      WRITELN('Current Parameters:');
  59.      WRITELN('Baud Rate:',speed:6);
  60.      WRITELN('Data Bits:',dbits:6);
  61.      WRITELN('Stop Bits:',stop_bits:6);
  62.      CASE parity OF
  63.           even : p := 'EVEN';
  64.           none : p := 'NONE';
  65.           ELSE   p := '????'
  66.      END;
  67.      WRITELN('Parity:   ',p:6);
  68.      IF Cport = com1 THEN cp := 'COM1'
  69.      ELSE                 cp := 'COM2';
  70.      WRITELN('Comm Port: ',cp);
  71.      WRITELN('PcJr Mode: ',pcjrmode);
  72.      WRITELN;
  73.      WRITE('Change? (Y/N) ');
  74.      READLN(p);
  75.      IF LENGTH(p) > 0 THEN
  76.         IF UpCase(p) = 'Y' THEN
  77.         BEGIN
  78.           WRITE('New Baud Rate (<cr> to keep): ');
  79.           READLN(speed);
  80.           WRITE('New Data Bits (<cr> to keep): ');
  81.           READLN(dbits);
  82.           WRITE('New Stop Bits (<cr> to keep): ');
  83.           READLN(stop_bits);
  84.           WRITE('New Parity (E or N or <cr> to keep): ');
  85.           READLN(p);
  86.           WRITE('New com port (1 or 2 or <cr> to keep:  ');
  87.           READLN(cp);
  88.           WRITE('New PcJr mode (Y or N or <cr> to keep: ');
  89.           READLN(yy);
  90.           IF LENGTH(p) > 0 THEN
  91.              CASE UpCase(p) OF
  92.                'E' : parity := even;
  93.                ELSE parity := none;
  94.              END;
  95.          IF LENGTH(yy) > 0 THEN
  96.             BEGIN
  97.                IF UpCase(yy) = 'Y' THEN
  98.                   pcjrmode := TRUE
  99.                ELSE
  100.                   pcjrmode := FALSE;
  101.             END;
  102.          IF LENGTH(cp) > 0 THEN
  103.             BEGIN
  104.                remove_port;
  105.                IF cp = '1' THEN
  106.                   Cport := com1;
  107.                IF cp = '2' THEN
  108.                   Cport := com2;
  109.                init_port;
  110.                term_ready(TRUE);
  111.             END;
  112.          WRITE('Save changes?  (Enter Y if yes): ');
  113.          READLN(yy);
  114.          IF LENGTH(yy) > 0 THEN
  115.             IF UpCase(yy) = 'Y' THEN
  116.             BEGIN
  117.                WITH msrecord DO
  118.                BEGIN
  119.                   mdbits        := dbits;
  120.                   mparity       := parity;
  121.                   mstop_bits    := stop_bits;
  122.                   mspeed        := speed;
  123.                   mcom_port     := Cport;
  124.                   mjropt        := pcjrmode;
  125.                   RESET(msfile);
  126.                   WRITE(msfile, msrecord);
  127.                   CLOSE(msfile);
  128.                END;
  129.             END;
  130.      END
  131. END;
  132.  
  133. PROCEDURE NewParms;
  134. BEGIN
  135.      OpenTemp(15,3,60,23,2);
  136.      GetParms;
  137.      CloseTemp;
  138.      update_uart;
  139.      New_Baud(speed)
  140. END;
  141.